package IO;

import java.io.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 26727
 * Date: 2024-06-21
 * Time: 16:47
 */
public class IODemo6 {
    public static void main(String[] args) throws IOException {
        //这个过程就是相当于C中的fopen 文件的打开操作
        //让这个当前变量和硬盘的文件相关联起来
//        InputStream inputStream = new FileInputStream("d:/student.txt");
//
//        //但是这样写 如果执行中间出现一些问题 比如return 或者 抛出异常, close就执行不到了
//        //关闭操作很重要！！
//        inputStream.close();

//        InputStream inputStream = null;
//        try {
//            inputStream = new FileInputStream("d:/student.txt");
//        } finally {
//            inputStream.close();
//        }

        //上述代码不优雅
        try(InputStream inputStream = new FileInputStream("d:/student.txt")) {
            //读文件
            //read一次返回的是一个字节 但是此处的返回类型是int！！！
            while(true) {
                int b = inputStream.read();
                if(b == -1) {
                    //读到末尾了
                    break;
                }
                //转成16进制打印

                System.out.printf("%x\n",b);
            }
        }

    }
}
